// order/index/index.js
import Toast from '../../ui/toast/index'
const app=getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        pic_url:app.url.web_url,
        id:0,
        list:[],//订单内容
        total_price:0,
        hd_price:[],//优惠信息
        order:{},//订单信息
        p_type:0,//支付方式
        order_else:{},//运费等信息
        form:{
            id:0,
            pay_type:0,
            coupon_id:0,
        },
        visible:false,
        yhq_list:[],
        yhq_name:'',
        yhq_info:'',//优惠券信息
        show_yhq:false,
        message_id:'',//消息订阅ID
    },

    //获取相关内容
    get_content(){
        app.login.request("index.php?r=api/order/order",{id:this.data.id}).then((res)=>{
            console.log(res);
            if(res.data.result){
                this.setData({
                    list:res.data.list,
                    order:res.data.data,
                    total_price:res.data.total_price,
                    hd_price:res.data.hd_price,
                    order_else:res.data.order_else,
                });
            }else{
                wx.showModal({
                  title: '提示',
                  content: res.data.data,
                  showCancel:false,
                  complete: (res) => {
                    if (res.confirm) {
                      
                    }
                  }
                })
            }
        }); 
        
    },

    //显示优惠券
    show_yhq(e){
        let id = e.currentTarget.dataset.id;
        console.log(id);
        app.login.request("index.php?r=api/order/getyhq",{id:id}).then((res)=>{
            this.setData({
                yhq_info:res.data.data,
                show_yhq:true,
            });
        });
    },

    //支付方式
    pay_type(e){
        let value = e.detail.value;
        this.data.form.pay_type=value;
    },


    //跳转支付
    to_pay(){
        if(!this.data.form.pay_type){
            Toast({
                context:this,
                selector:"#toast",
                message:"请选择支付方式",
            });
            return;
        }
        //订阅消息
        wx.requestSubscribeMessage({
            tmplIds: [this.data.order.message_id],
            complete: (res)=>{ 
                this.to_pay_pay();
            },
            fail:(res)=>{
                console.log(res);
            }
        });
        return;
        
        
    },

    //跳转支付
    to_pay_pay(){
        app.login.request("index.php?r=api/order/orderpay",{form:this.data.form}).then((res)=>{
            if(res.data.result){
                if(res.data.pay_type==1){//微信支付
                    let data = res.data.data;
                    let reply = res.data.reply;
                    wx.requestPayment({
                        timeStamp: data.timeStamp.toString(),
                        nonceStr: data.nonceStr,
                        package: data.package,
                        signType: 'MD5',
                        paySign: data.pay_sign,
                        success:(res)=>{ 
                            app.login.request("index.php?r=api/order/wxpay",{reply:reply}).then((res)=>{
                                if(res.data.result){
                                    console.log(11);
                                    Toast({
                                        context:this,
                                        selector:"#toast",
                                        message:res.data.data,
                                    });
                                    wx.redirectTo({
                                      url: '/pages/index/index',
                                    })
                                }else{
                                    wx.showModal({
                                      title: '提示',
                                      content: res.data.data,
                                      showCancel:false,
                                    })
                                }
                            });
                        },
                        fail:(res)=>{ 
                            wx.showModal({
                              title: '提示',
                              content: res.errMsg,
                              showCancel:false,
                            })
                        }
                      })
                }else{//余额支付
                    Toast({
                        context:this,
                        selector:"#toast",
                        message:res.data.data,
                    });
                    wx.setStorageSync('message', 0);
                    wx.redirectTo({
                      url: '/pages/index/index',
                    })
                }
                
            }else{
                wx.showModal({
                  title: '提示',
                  content: res.data.data,
                  showCancel:false,
                  complete: (res) => {
                    if (res.confirm) {
                      
                    }
                  }
                })
            }
        });
    },

    //选择优惠券
    sl_yhq(){
        this.setData({
            visible:true,
        });
        this.get_yhq();
    },

    onVisibleChange(){
        this.setData({
            visible:false,
            show_yhq:false,
        });
    },

    //获取优惠券列表
    get_yhq(){
        app.login.request("index.php?r=api/order/yhq").then((res)=>{
            console.log(res);
            if(res.data.result){
                this.setData({
                    yhq_list:res.data.data,
                });
            }
        });
    },

    //选择优惠券
    change_yhq(e){
        let index = e.currentTarget.dataset.index;
        let item = this.data.yhq_list[index];
        if(item.id==this.data.form.coupon_id){
            this.setData({
                visible:false,
            });
            return;
        }
        if(this.data.total_price<item.count){
            Toast({
                context:this,
                selector:"#toast",
                message:"消费金额不足，不能使用"
            });
            this.setData({
                visible:false,
            });
            return;
        }
        this.data.form.coupon_id = item.id;
        let p={};
        p.price = item.reduce;
        p.name = "优惠券";
        this.data.hd_price.push(p);
        let price = this.data.total_price-item.reduce;
        price = (price<0)?0:price;
        this.setData({
            yhq_name:item.name,
            hd_price:this.data.hd_price,
            total_price:price,
            visible:false,
        });
    },


    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        let id=options.id;
        if(id){
            this.data.id=id;
            this.data.form.id=id;
            this.get_content();
        }
        app.get_name();
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})